﻿using mozhi.smarterp.BasicData.Employees;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using Volo.Abp.Domain.Repositories;
using mozhi.smarterp.BasicData.Enums;

namespace mozhi.smarterp.BasicData.ExpenseItems.Repositories
{
    public interface IExpenseItemRepository : IRepository<ExpenseItem , Guid>
    {
        Task<int> GetCountAsync(string code, string name, Guid? excludeId, CancellationToken cancellationToken = default(CancellationToken));

        Task<List<ExpenseItem>> GetPagedListAsync(string keyword, bool? activated, ExpenseItemType? type,  int skipCount, int maxResultCount, string sorting, bool includeDetails = false, CancellationToken cancellationToken = default(CancellationToken));

        Task<int> GetCountAsync(string keyword, bool? activated, ExpenseItemType? type, CancellationToken cancellationToken = default(CancellationToken));

    }
}
